//用户登录模块
var express = require('express');
var router = express.Router();   //路由分包

const userModel = require('../models/UserInfo');

/*   api接口  */

//注册接口 --创建
router.post('/register', function (req, res, next) {   //保存提交的信息表单
  console.log("提交的表单数据：" + JSON.stringify(req.body));
  const { phone } = req.body;
  if (!phone) {
    return res.status(400).json({
      code: 400,
      msg: '手机号不能为空'
    });
  }

  userModel.findOne({ phone: phone })
    .then((existingUser) => {
      if (existingUser) {
        console.log('用户已存在:', existingUser);
        return res.status(409).json({
          code: 409,
          msg: '用户已存在'
        });
      }


      // 如果手机号不存在，则进行注册
      return userModel.create({ ...req.body })
        .then((data) => {
          console.log('插入成功:', data);
          res.json({
            code: 200,
            msg: '注册成功',
            data: data
          });
        })
        .catch((err) => {
          console.error('Error creating user:', err);
          res.status(500).json({
            code: 500,
            msg: '服务器内部错误',
            data: err.message
          });
        });
    })
    .catch((err) => {
      console.error('Error checking user existence:', err);
      res.status(500).json({
        code: 500,
        msg: '服务器内部错误',
        data: err.message
      });
    });
});

//登录接口 --查询检测
// 登录接口 --查询检测
router.post('/login', function (req, res, next) {
  const { phone, password } = req.body; // 使用 req.body 接收手机号和密码

  if (!phone || !password) {
    return res.status(400).json({
      code: 400,
      msg: '手机号和密码不能为空'
    });
  }

  userModel.findOne({
    phone: phone,
    password: password
  }).then((data) => {
    if (data) {
      console.log('登录成功:', data);
      res.json({
        code: 200,
        msg: '登录成功',
        data: data
      });
    } else {
      console.log('用户不存在或密码错误');
      res.status(401).json({
        code: 401,
        msg: '用户不存在或密码错误'
      });
    }
  }).catch((err) => {
    console.error('Error during login:', err);
    res.status(500).json({
      code: 500,
      msg: '服务器内部错误',
      data: err.message
    });
  });
});



// ------------------------查询模块-----------

router.get('/business', function (req, res, next) { // 依据查询岗位为业务的信息
  userModel.find({ position: '业务' }) // 假设用户模型中有一个字段名为 position
    .then((users) => {
      if (users.length === 0) {
        return res.status(404).json({
          code: 404,
          msg: '没有找到岗位为业务的用户'
        });
      }
      console.log('查询到的业务岗位用户:', users);
      res.json({
        code: 200,
        msg: '查询成功',
        data: users
      });
    })
    .catch((err) => {
      console.error('Error during business user query:', err);
      res.status(500).json({
        code: 500,
        msg: '服务器内部错误',
        data: err.message
      });
    });
});

module.exports = router;